/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.comac.ins.isfd.domain.IsfdRegionLibraryMongo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;


/**
 * 【区域库】对象
 *
 * @author wujialin
 * @date 2025-06-08
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
@AutoMapper(target = IsfdRegionLibraryMongo.class)
public class IsfdRegionLibraryMongoVo {


    @JsonProperty("_id")
    private String _id;

    /**
     * 区域代码
     */
    @JsonProperty("regionCode")
    @ExcelProperty("区域编码")
    private String regionCode;

    /**
     * 区域类型（管道/腔体/流道）
     */
    @JsonProperty("regionType")
    @ExcelProperty("区域类型")
    private String regionType;

    /**
     * 几何形状（圆形/矩形/自定义）
     */
    @JsonProperty("shape")
    @ExcelProperty("几何形状")
    private String shape;

    /**
     * 几何尺寸（JSON格式，如 {"直径":10}）
     */
    @JsonProperty("dimensions")
    @ExcelProperty("几何尺寸")
    private String dimensions;

    /**
     * 边界条件描述（如入口/出口/壁面等）
     */
    @JsonProperty("boundaryCondition")
    @ExcelProperty("边界条件")
    private String boundaryCondition;

    /**
     * 构建方式（导入/手动）
     */
    @JsonProperty("constructionMethod")
    @ExcelProperty("构建方式")
    private String constructionMethod;

    /**
     * 区域坐标数据
     */
    @JsonProperty("coordinateData")
    @ExcelProperty("区域坐标数据")
    private String coordinateData;

    /**
     * 所属租户编号
     */
    @JsonProperty("tenantId")
    private String tenantId;

    /**
     * 创建时间
     */
    @JsonProperty("create_time")
    private String createTime;

    /**
     * 创建人
     */
    @JsonProperty("create_by")
    private String createBy;

    /**
     * 创建部门
     */
    @JsonProperty("createDept")
    private String createDept;

    /**
     * 更新时间
     */
    @JsonProperty("updateTime")
    private String updateTime;

    /**
     * 更新人
     */
    @JsonProperty("updateBy")
    private String updateBy;

    /**
     * 全局唯一标识
     */
    @JsonProperty("hashUniqueKey")
    private String hashUniqueKey;

    /**
     * 元数据管理ID
     */
    @JsonProperty("metadataManagementId")
    private String metadataManagementId;

    /**
     * 备注
     */
    @JsonProperty("remarks")
    @ExcelProperty("备注")
    private String remarks;
}
